//
//  QueueArray.h
//  DataStruct
//
//  Created by vase on 2022/3/22.
//  队列的顺序存储数据结构

#ifndef QueueArray_h
#define QueueArray_h

#include <stdio.h>
#include <stdlib.h>

//队列长度的定义
#define QueueLen 10001
//数据类型定义
#define ElementType int
//异常的定义
#define QueueArrayError -1
/** 队列基础数据结构*/
typedef struct {
    ElementType data[QueueLen];
    int head, tail;
} QueueArray;

/** 顺序存储的队列的初始化函数*/
QueueArray* initQueueArray(void);

/** 元素入队*/
void pushQueueArray(QueueArray *queue, ElementType item);

/** 元素出队*/
ElementType popQueueArray(QueueArray *queue);

/** 判断队空*/
int isEmpty(QueueArray *queue);

/** 判断队满*/
int isFullFilled(QueueArray *queue);

#endif /* QueueArray_h */
